package com.lin.manager.system.service;

import com.lin.manager.common.req.QueryPage;
import com.lin.manager.common.resp.DataPage;
import com.lin.manager.system.entity.SysRoleEntity;
import com.lin.manager.login.model.vo.LoginUserVo;

import java.util.List;

/**
 * @作者: 林江
 * @创建时间: 2024/3/12
 * @功能:
 */
public interface SysRoleService {
    /**
     * 分页查询
     *
     * @param page
     * @return
     */
    DataPage<SysRoleEntity> listPage(QueryPage page);

    List<SysRoleEntity> list(QueryPage page);

    void add(SysRoleEntity sysRole);

    void update(SysRoleEntity sysRole);

    void del(Integer id);

    /**
     * 查询角色关联的权限
     *
     * @param roleId
     * @return
     */
    List<Integer> relative(Integer roleId);

    /**
     * 绑定权限
     *
     * @param roleId
     * @param menuIds
     */
    void binding(Integer roleId, List<Integer> menuIds);

    LoginUserVo findLoginRoleByRoleIds(List<Integer> roleIds);

    List<SysRoleEntity> findRoleByUserId(String userId);
}
